<?php
	require_once("init.inc.php");


	/*
	 * API Partage de tag 
	 *
	*/


	/*
	*	Récupère la liste des usagers qui ont une permission sur ce fichier.
	*/
	function get_allowed_users_for_tag($tag_id)
	{
		$results = array();
		mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWD) or die(mysql_error());
		mysql_select_db(DB_NAME) or die(mysql_error());
		$result = mysql_query("SELECT id, user_id FROM file_permission WHERE label_id=$tag_id");

		while($row = mysql_fetch_array($result)) {
			array_push($results, array("id" => $row[0], "user_id" => $row[1]));
		}

		return $results;	
	}

	/*
	*	Récupère toutes les personnes qui ont une autorisation sur ce tag en particulier.
	*/
	function register_user_for_tag($user_id, $tag_id)
	{
		$results = array();
		mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWD) or die(mysql_error());
		mysql_select_db(DB_NAME) or die(mysql_error());
		//c = mysql_real_escape_string($email);
		$result = mysql_query("SELECT id FROM file_permission WHERE user_id=$user_id AND label_id=$tag_id");

		//Si l'usager n'est pas présent
		if(mysql_num_rows($result) == 0)
		{
			$result = mysql_query("INSERT INTO file_permission (label_id, user_id) VALUES($tag_id, $user_id)");
			
			//Nous avons ajouté un élément
			return 1;
		}

		//Aucun élément n'a été ajouté
		return 0;	
	}

	/*
	*	Récupère toutes les personnes qui ont une autorisation sur ce tag en particulier.
	*/
	function unregister_user_for_tag($user_id, $tag_id)
	{
		$results = array();
		mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWD) or die(mysql_error());
		mysql_select_db(DB_NAME) or die(mysql_error());
		$c = mysql_real_escape_string($user_id);
		$result = mysql_query("SELECT id FROM file_permission WHERE user_id=$user_id AND label_id=$tag_id");

		//Si l'usager n'est pas présent
		if(mysql_num_rows($result) > 0)
		{
			$result = mysql_query("DELETE FROM file_permission WHERE user_id=$user_id AND label_id=$tag_id");
			
			//Nous avons supprimé l'accès à ce tag pour un usager.
			return 1;
		}

		//Aucun élément n'a été supprimé
		return 0;	
	}	
	
?>
